The advances in Personal Computer ("PC") technology have made possible the introduction of relatively inexpensive workstations for word processing, accounting, graphical design and other similar applications which previously required dedicated use of PC-Based Workstations. Visualization of three dimensional objects set in three-dimensional space has traditionally been hindered by the demands placed by existing software on the computers. The complex mathematical operations required for correctly drawing and rendering three-dimensional objects including hidden surface removal, application of texture, lighting, shadows, and animating the three-dimensional objects make heavy demands on the PCs used for this purpose. Typically, the PC-based systems were designed to defer most of the detailed rendering until after the design was complete. Although this compromise improved the performance of the systems, while designing the scene, the designer was not able to view a substantially accurate representation of the final scene.
In the past, typically only dedicated high-performance graphical workstations or super computers were capable of performing the complex and numerous computations associated with rendering three-dimensional objects while the designer was interacting with the objects in the scene. Less capable systems typically restricted the designer to manipulating wire-frame, or other simplified renditions of three-dimensional objects while editing the scene, and postponing the final rendering of the objects until after the scene has been composed.
This approach has the drawback of preventing the designer from appreciating the full impact of the changes made during the design of the scene. The designer is therefore forced to manipulate wire-frame representations or other simplified renditions of the objects in the scene, render the scene, review the details, and return to the wire-frame or simplified rendition for making adjustments to the scene based on the rendered view. This interactive approach requires many iterations between the wire-frame or simple renditions of the scene and the rendered view, forcing the designer to anticipate how the scene would appear once it is fully rendered without the benefit of actually seeing the objects in their final rendered form.
Another disadvantage of the typical interactive approach is that the designer cannot select the level of detail associated with each stage of the operation according to the designer's requirements.
It is therefore the object of this invention to maximize the performance of a three-dimensional design and rendering system by enabling the designer to select the trade-off between rendering speed and image quality based on the designer's requirements and the performance of the system available.